const { shareOptions } = require("../../utils/access")
const { stringify, parse, jump, getBarAndTitleHeight } = require("../../utils/utils")
import api from "../../config/api";
import request from "../../utils/request";

// pages/clickMe/clickMe.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 结果列表
    list: [],
    // 图片地址
    imageUrl: '',
    // 桶内成分分析数据
    ingredientData: {},
    // 可用宽度
    useWidth: 0,
    // AI图片地址
    aiUrl: null,
    // 是否是测试环境
    isDev: false,
    // 信号栏高度
    ...getBarAndTitleHeight(),
  },
  // 判断提示文案
  getMsgContent: async function(){
    const res = await request.get(`${api.query25DaysTask}`)
      if(res.httpStatus===200){
        let {durationDays, remainDays } = res.data
        let taskDone = durationDays === 7 || durationDays === 14 || (durationDays !== 0 && durationDays % 25 ===0);
        if(taskDone){
          setTimeout(() => {
            wx.showToast({
              icon: 'none',
              title: '任务完成，请在我的-兑换券中查看奖品',
              duration: 2000
            })
          }, 300)
        }else{
          setTimeout(() => {
            wx.showToast({
              icon: 'none',
              title: `任务完成，距离奖品券还有${remainDays}天`,
              duration: 2000
            })
          }, 300)
        }
      }
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    const { result, ...ingredientData } = options
    const systemInfo = wx.getSystemInfoSync()
    let list = []
    if (options.result) {
      try {
        list = (parse(options.result))
      } catch { }
    }
    if (options.showMsg) {
      // setTimeout(() => {
      //   wx.showToast({
      //     icon: 'none',
      //     title: '今日任务已完成',
      //     duration: 2000
      //   })
      // }, 300)
      this.getMsgContent()
    }
    this.setData({
      list,
      imageUrl: ingredientData?.url,
      ingredientData,
      useWidth: systemInfo.windowWidth - 300 * (systemInfo.windowWidth / 750),
      isDev: !api.authSwap.startsWith('https'),
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },
  // 用于ai测试
  async showAiPic() {
    const { imageUrl, aiUrl } = this.data
    // ai测试
    if (aiUrl) {
      wx.previewImage({
        urls: [aiUrl, imageUrl].filter(Boolean),
      })
    } else {
      wx.showLoading({
        title: '加载中',
      })
      wx.request({
        method: 'POST',
        url: 'http://192.168.11.181:9800/api/inference/v2/n/hot/or/waste/',
        data: {
          url: imageUrl,
          is_dd_test: 1,
        },
        success: (result) => {
          console.log('ai测试：', result)
          const res = result?.data || {}
          wx.hideLoading()
          if (res?.code === 200) {
            this.setData({
              aiUrl: res?.data
            })
            wx.previewImage({
              urls: [res?.data, imageUrl].filter(Boolean),
            })
          } else {
            wx.showToast({
              icon: 'none',
              title: res?.msg || '请求失败',
            })
          }
        },
        fail: (err) => {
          console.log('ai测试：', err)
          wx.showToast({
            icon: 'none',
            title: '请求失败',
          })
        }
      })
    }
  },
  // 跳转日常拍结果页
  jumpResult(e) {
    const { ingredientData } = this.data
    jump('photoResult', {
      result: stringify({
        ...e?.currentTarget?.dataset?.item
      }),
      ...ingredientData
    })
  },
  // 用户点击右上角分享
	onShareAppMessage(e) {
		return shareOptions('default', e)
	},

})